import pymysql
from pymysql.cursors import DictCursor  # 用于返回字典格式的结果

# 数据库连接配置
db_config = {
    "host": "47.115.213.60",  # 数据库主机地址（默认localhost）
    "port": 3306,  # 端口号（默认3306）
    "user": "root",  # 数据库用户名
    "password": "yuchuang4912",  # 密码（替换为你的实际密码）
    "database": "pyearn",  # 要连接的数据库名（需提前创建）
    "charset": "utf8mb4",  # 字符编码，支持中文
    "cursorclass": DictCursor  # 游标返回字典格式（可选）
}
'''
获取conn
'''


def get_meysql_conn():
    conn = None
    try:
        # 1. 建立数据库连接
        conn = pymysql.connect(**db_config)
        if not conn:  # 连接失败直接返回
            return None
        print("✅ 数据库连接成功")
        return conn
        # 2. 创建游标（用于执行SQL语句）
    except Exception as e:
        print(f"❌ 数据库连接失败: {str(e)}")
        return None


'''
获取游标，专用于查询
'''


def get_meysql_cursor():
    conn = None
    cursor = None
    try:
        if conn is None:
            conn = get_meysql_conn()

        conn = pymysql.connect(**db_config)
        print("✅ 数据库连接成功")
        return conn.cursor()

    except Exception as e:
        print(f"❌ 数据库游标创建失败: {str(e)}")
        # 若连接已创建但游标失败，关闭连接释放资源
        if conn:
            conn.close()
        return None


if __name__ == "__main__":
    get_meysql_cursor()
